<?php 
/*
 * Tuy chinh giao dien phia client
 */
class User_UserController extends TIGT_Controller_Action{
//      Mang tham so nhan duoc o moi Action
	protected $_arrParam;
    protected $_userID; // lưu id của người dùng
    protected $_user;
    protected $_host;
    protected $_getDevice;

    public function init(){
        Zend_Loader::loadClass('InputModel');
    	$this->_arrParam = $this->_request->getParams();   
		
//      Bo di cac truong ko can thiet
		unset($this->_arrParam['module']);
		unset($this->_arrParam['controller']);
		unset($this->_arrParam['action']);
		
//      Them vao view cac chung
		$this->view->controller =  $this->_request->getControllerName();
		$this->view->action =  $this->_request->getActionName();
		$this->view->module = $this->_request->getModuleName();
//      Loc cac bien dau vao
		foreach ($this->_arrParam as &$p){
			$p = InputModel::standardInputString($p);
		}
        
//      lay dia chi host
        $pageURL = 'http';
        if (!empty($_SERVER['HTTPS'])) {
            if ($_SERVER['HTTPS'] == 'on') {
                $pageURL .= "s";
            }
        }
        $pageURL .= "://";
        if ($_SERVER["SERVER_PORT"] != "80") {
            $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"];
        } else {
            $pageURL .= $_SERVER["SERVER_NAME"];
        }
        $this->_host = $this->view->host = $pageURL;
        
//    	Truyền tham số ra view 
    	$this->view->arrParam = $this->_arrParam;  
    }
    
//      Load cac file css, js, va khoi tao cac bien can thiet
    public function preDisPatch(){
//      Load model
        Zend_Loader::loadClass('AuthModel');
//      Them cac file css va js can thiet

//    	Chọn layout mặc định
    	
		$template_path = TEMPLATE_PATH . "/user/";
		$this->loadTemplate($template_path,'template.ini','template');
        $auth = new AuthModel();
        if ($auth->hasIdentity()) {
            $user = $auth->getIdentity();
            $this->view->user = $this->_user = $user;
        }
    }
    
    public function indexAction(){
        exit();
    }

    public function infoAction() {
//      Load các model cần thiết
        Zend_Loader::loadClass("UserModel");

        $user_model = new UserModel();
        try{
            $user_info = $user_model->getUserInfoByID(array("user_id"=>$this->_user["user_id"], "status"=>1));     
        }catch(Exception $e){
            echo $e->getMessage();die;
        } 
        $this->view->user_info = $user_info;
    }
    
    public function editInfoAction() {
//      Load các model cần thiết
        Zend_Loader::loadClass("UserModel");

        $user_model = new UserModel();
        $params = $this->_arrParam;
        try{
            if($this->_request->isPost()){
                // Update User info
                $data = array("FullName"=>$params['FullName'],
                            "Gender"=>$params['Gender'],
                            "PhoneNumber"=>$params['PhoneNumber'],
                            "Birthday"=>$params['BD_Year']."-".$params['BD_Month']."-".$params['BD_Day'],
                            "Address"=>$params['Address'],
                            "FaceAccount"=>$params['FaceAccount'],
                            "Introduce"=>$params['Introduce'],
                            "Avatar"=>$params['Avatar']);   
                $user_model->update($data, "idNormalUser=".$this->_user['user_id']);
                $this->view->success = "Cập nhật thành công";
            }
            $user_info = $user_model->getUserInfoByID(array("user_id"=>$this->_user["user_id"], "status"=>1));     
        }catch(Exception $e){
            //$this->view->error = $e->getMessage();
            $this->view->error = "Lỗi trên server"; 
        } 
        $this->view->user_info = $user_info;
    }
    
    public function changePasswordAction(){
        Zend_Loader::loadClass("UserModel");
        if($this->_request->isPost()){
            $user_model = new UserModel();
            $params = $this->_arrParam;
            if(!empty($params['old_password']) && !empty($params['new_password']) && !empty($params['new_password2'])){
                $user_model = new UserModel();
                try{
                    $user_info = $user_model->getUserInfoByID(array("user_id"=>$this->_user["user_id"], "status"=>1));     
                    if(md5($params['old_password']) == $user_info['Password']){
                        if($params['new_password'] == $params['new_password2']){
                            if(strlen($params['new_password']) >= 6 && strlen($params['new_password']) <= 32){
                                    $user_model->updatePassAccount(md5($params['new_password']), $this->_user['user_id']);
                                    $this->view->success = "Cập nhật thành công";
                            }else{
                                $this->view->warning = "Mật khẩu mới phải nằm trong khoảng từ 6 đến 32 kí tự";
                            }
                        }else{
                            $this->view->warning = "Mật khẩu nhập lại không khớp";
                        }
                    }else{
                        $this->view->warning = "Hãy nhập vào đúng mật khẩu của bạn";
                    }
                }catch(Exception $e){
                    echo $e->getMessage();die;
                } 
            }else{
                $this->view->warning = "Thiếu tham số";
            }
        }
    }
}	
	
	